home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / game / role / Zngam206.lha / Zangband / help / version.txt < prev   
Text File  |  1998-01-22  |  19KB  |  422 lines

  1. === Zangband History and Information ===
  2.  
  3. The seeds of Zangband lie in an obsolete and long ago vanished PC variant
  4. (somewhat misleadingly) dubbed Angband--. The variant was written by a
  5. hopeless Angband addict (previously Moria veteran and winner) who got 
  6. bored with the standard monsters and wanted to introduce some new 
  7. monsters. Angband-- was based on the PC Angband 1.31 sources, and 
  8. it was set in Roger Zelazny's 'Amber' universe.
  9.  
  10. Later this individual got a better computer and learned to code, and 
  11. produced the PC Zangband, and most Angband-- monsters survived into
  12. PC Zangband 1.0. PC Zangband 1.0 was the first PC Angband to introduce
  13. (simple, font-based) graphics, which were also used in the graphical
  14. PC Angband 1.40. 
  15.  
  16. Yet this individual was still not cured of his addiction... his almost
  17. as strong addiction to the Civilization style fantasy strategy game 
  18. 'Master of Magic' inspired him to write a new magic system. The current
  19. version of Zangband (2.*) incorporates this magic system, as well as
  20. the best features from Angband-- and PC Zangband 1.0. It is based on
  21. the Angband 2.8.1 sources (by Ben Harrison), and is therefore portable
  22. to other systems (unlike the earlier versions which were for dos-pc's
  23. only).
  24.  
  25. Incidentally, this person (me, Topi Ylinen) also thought that the 
  26. standard Angband monsters were too easy, which led him to introduce
  27. such monsters as Death swords, Cyberdemons and Great wyrms of power...
  28.  
  29. Special thanks -- The current version of Zangband might not come into
  30. existence without the significant help from these excellent Angband
  31. programmers:
  32.  
  33.         Greg Wooledge, who pointed out a bug in the dos compiler,
  34.         which was preventing my progress with the first 2.* version
  35.         of Zangband.
  36.  
  37.         Julian Lighton, who must have sent me more ideas, patches, and
  38.         bug reports, than all the others toghether.
  39.  
  40.         Robert Ruehlmann, whose nice new main-ibm.c enables SVGA
  41.         graphics and even windows in ms-dos.
  42.  
  43.  
  44. === Brief Version History (of standard Angband) ===
  45.  
  46. First came "VMS Moria", by Robert Alan Koeneke (1985).
  47.  
  48. Then came "Umoria" (Unix Moria), by James E. Wilson (1989).
  49.  
  50. In 1990, Alex Cutler and Andy Astrand, with the help of other students
  51. at the University of Warwick, created Angband 1.0, based on the existing
  52. code for Umoria 5.2.1.  They wanted to expand the game, keeping or even
  53. strengthening the grounding in Tolkien lore, while adding more monsters
  54. and items, including unique monsters and artifact items, plus activation,
  55. pseudo-sensing, level feelings, and special dungeon rooms.
  56.  
  57. Over time, Sean Marsh, Geoff Hill, Charles Teague, and others, worked on
  58. the source, releasing a copy known as "Angband 2.4.frog_knows" at some
  59. point, which ran only on Unix systems, but which was ported by various
  60. people to various other systems.
  61.  
  62. Then Charles Swiger (cs4w+@andrew.cmu.edu) attempted to clean up the mess,
  63. resulting in several versions, starting sometime around November, 1993, with
  64. Angband 2.5.1 (more or less) and leading up to Angband 2.6.2 in late 1994.
  65. Several people ported (the primarily Unix/NeXT centered) Angband 2.6.1 to
  66. other platforms, including Keith Randall, who made a Macintosh port that
  67. added support for color usage.  Some of the changes during this period were
  68. based on suggestions from the "net", PC Angband 1.40, UMoria 5.5, and some
  69. of the Angband "variations", such as FAngband.
  70.  
  71. Finally, I (Ben Harrison) took over in late 1994 when Charles Swiger left.
  72. Initially my intention was simply to clean up what had become, after ten
  73. years, a rather unholy mess, but the deeper I delved into the code, the
  74. more it became apparent that drastic changes were needed, so, starting
  75. with MacAngband 2.6.1, I began a more or less total rewrite, resulting,
  76. eventually, in Angband 2.7.0, released around January first, 1995.
  77.  
  78. Angband 2.7.0 was a very clean (but very buggy) rewrite that, among other
  79. things, allowed extremely simple porting to multiple platforms, starting
  80. with Unix and Macintosh, and by the time most of the bugs were cleaned up,
  81. in Angband 2.7.2, including X11, and various IBM machines.  Angband 2.7.4
  82. was released to the "ftp.cis.ksu.edu" site, and quickly gained acceptance,
  83. perhaps helped by the OS2 and Windows and Amiga and Linux ports.  Angband
  84. 2.7.5 and 2.7.6 added important capabilities such as macros and user pref
  85. files, and continued to clean up the source.  Angband 2.7.8 was designed
  86. to supply another "stable" version that we can all give to our friends,
  87. with new "help files" and "spoiler files" for the "online help", plus a
  88. variety of minor tweaks and some new features.  Angband 2.7.9 optimized
  89. a few things, and tweaked a few other things, and cleaned up a few other
  90. things, and introduced a few minor semantic changes.
  91.  
  92. It is very hard to pin down, along the way from 2.6.2 to 2.7.0, and thence
  93. to 2.7.8, exactly what was added exactly when.  Most of these steps involved
  94. so many changes as to make "diff files" not very useful, since often the diff
  95. files were as long as the code itself.  Most of the changes, with the notable
  96. exception of the creation of the new "main-xxx.c" files for the various new
  97. platforms, and a few other exceptions generally noted in the source, were
  98. written by myself, either spontaneously, or, more commonly, as the result of
  99. a suggestion or comment by an Angband player.  So if you have any problems
  100. with anything that you do not recognize from older versions, you can blame
  101. them on me.  And if you like the new features and such, you can send me a
  102. brief little "thank you" email (to benh@voicenet.com) or something...
  103.  
  104. The Official Angband Home Page ("http://www.voicenet.com/~benh/Angband/")
  105. was created along with Angband 2.7.9 to serve as an up to date description
  106. of any bugs found in various versions, and to list all of the people whose
  107. email addresses I kept having to look up.
  108.  
  109.  
  110. === Some of the changes from Angband 2.6.1 to Angband 2.7.9 ===
  111.  
  112. The most important modification was a massive "code level cleanup" that made
  113. all of my other modifications much simpler and safer.  This cleanup was so
  114. massive that in many places the code is no longer recognizable, for example,
  115. via "diff -r", often because it was rewritten from scratch.
  116.  
  117. The second most important modification was the design of a generic "term.c"
  118. package, which allows Angband to be ported to a new machine with as few as 50
  119. lines of code.  Angband 2.7.9 thus runs without modification on many machines,
  120. including Macintosh, PowerMac, Unix/X11, Unix/Curses, Amiga, Windows, OS2-386,
  121. DOS-386, and even DOS-286.
  122.  
  123. It would be difficult to list all of the changes between Angband 2.6.1 and
  124. Angband 2.7.9, because many of them were made in passing during the massive
  125. code level cleanup.  Many of the changes are invisible to the user, but still
  126. provide increased simplicity and efficiency, and decreased code size, or make
  127. other more visable changes possible.  For example, the new "project()" code
  128. that handles all bolts, beams, and balls, the new "update_view()" code that
  129. simplifies line of sight computation, or the new "generate()" code that builds
  130. new levels in the dungeon.  Many changes have been made to increase efficiency,
  131. including the new "process_monsters()" and "update_monsters()" functions, and
  132. the new "objdes()" and "lite_spot()" routines.  The generic "Term" package
  133. yielded efficient screen updates, and enabled the efficient use of "color".
  134.  
  135. But anyway, here are a few things that come to mind, in no particular order,
  136. and with very little time or effort.  Somehow I managed to put off updating
  137. this file to the very end, and it will just have to do for now.  The recent
  138. changes (and bug fixes) can be found at the Official Angband Home Page.
  139.  
  140.     color
  141.     macros
  142.     keymaps
  143.     user pref files
  144.     generic feature array, with template file
  145.     generic object array, with template file
  146.     generic artifact array, with template file
  147.     generic ego-item array, with template file
  148.     generic monster array, with template fils
  149.     generic vault array, with template file
  150.